<?php

function uploadImage($foto)
{
 if (!empty($foto["name"])) {
		// Largura máxima em pixels
		$largura = 1024;
		// Altura máxima em pixels
		$altura = 1024;
		// Tamanho máximo do arquivo em bytes
		$tamanho = 2000000;
 
    	// Verifica se o arquivo é uma imagem
 	if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $foto["type"]))
  {
   $error[1] = "Isso não é uma imagem.";
			foreach ($error as $erro) {
				echo $erro . "<br />";
			}
  }
 
		// Pega as dimensões da imagem
		$dimensoes = getimagesize($foto["tmp_name"]);
 
		// Verifica se a largura da imagem é maior que a largura permitida
		if($dimensoes[0] > $largura) {
			$error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
			foreach ($error as $erro) {
				echo $erro . "<br />";
			}
		}
 
		// Verifica se a altura da imagem é maior que a altura permitida
		if($dimensoes[1] > $altura) {
			$error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
			foreach ($error as $erro) {
				echo $erro . "<br />";
			}
		}
 
		// Verifica se o tamanho da imagem é maior que o tamanho permitido
		if($foto["size"] > $tamanho) {
   $error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
			foreach ($error as $erro) {
				echo $erro . "<br />";
			}
		}
 
		// Se não houver nenhum erro
		if (count($error) == 0) 
  {
			// Pega extensão da imagem
			preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
 
   // Gera um nome único para a imagem
   $nome_imagem = md5(uniqid(time())) . "." . $ext[1];
 
   // Caminho de onde ficará a imagem
   $caminho_imagem = "fotos/" . $nome_imagem;
 
			// Faz o upload da imagem para seu respectivo caminho
			move_uploaded_file($foto["tmp_name"], $caminho_imagem);

		}
 
		// Se houver mensagens de erro, exibe-as
		if (count($error) != 0) {
			foreach ($error as $erro) {
				echo $erro . "<br />";
			}
   return "";
		}
  else
   return $caminho_imagem;

 }
 return "";
}
?>
